/**
 * Created by jiaoyumin on 2017/9/26.
 */
import echarts from "echarts";
import store from "../store";

const option = {
  tooltip: {
    // 提示框组件。
    trigger: "axis", // 坐标轴触发，主要在柱状图，折线图等会使用类目轴的图表中使用。
    axisPointer: {
      // 坐标轴指示器，坐标轴触发有效
      type: "shadow" // 默认为直线，可选为：'line' | 'shadow'
    }
  },
  toolbox: {
    //工具栏
    showTitle: true,
    feature: {
      // 工具配置：此处配置切换线形图与柱状图按钮，已经保存为图片按钮
      magicType: {
        type: ["line", "bar"] //动态类型切换 (线性图，柱状图)
      },
      saveAsImage: {}
    },
    right: 15, //工具栏便宜位置
    top: 10 //工具栏便宜位置
  },
  color: ["#fb8d50", "#13CE66"], //柱状与线型颜色，依次循环从该列表中取颜色作为系列颜色。
  legend: {
    data: ["今年", "去年"] //图例组件 配置图形上部显示的类型名称
  },
  grid: {
    //直角坐标系内绘图网格，单个 grid 内最多可以放置上下两个 X 轴，左右两个 Y 轴。可以在网格上绘制折线图，柱状图，散点图（气泡图）。
    left: "3%",
    right: "5%",
    bottom: "3%",
    containLabel: true //是否包含坐标轴的刻度标签。
  },
  xAxis: [
    //x 轴
    {
      type: "category", //类目轴
      data: ["第一季度", "第二季度", "第三季度", "第四季度"] //X轴名称
    }
  ],
  yAxis: [
    {
      type: "value" //类型为数值轴
    }
  ],
  series: [
    //今年数据与去年数据放在一起对比，形成两个颜色不同的柱状
    {
      name: "今年", //柱状显示的title
      type: "bar", //通过 type 决定自己的图表类型 此处为柱形图
      data: [] //传入参数
    },
    {
      name: "去年", //柱状显示的title
      type: "bar", //通过 type 决定自己的图表类型 此处为柱形图
      data: [] //传入参数
    }
  ]
};
export const getCharts = (domid, now, last) => {
  const chart = echarts.init(
    document.getElementById(domid),
    {},
    {
      width: 740,
      height: 600
    }
  );
  option.series[0].data = now;
  option.series[1].data = last;
  chart.setOption(option);
};

export const updateCharts = (domid, now, last) => {
  echarts.dispose(document.getElementById(domid));
  const chart = echarts.init(
    document.getElementById(domid),
    {},
    {
      width: 740,
      height: 600
    }
  );
  option.series[0].data = now;
  option.series[1].data = last;
  chart.setOption(option);
}

//外联接待计算
export const countWljdData = () => {
  let array = [...store.state.wljds];
  //亚洲
  for (let i = 0; i < 2; i++) {
    let asia = 0;
    for (let j = 6; j < 18; j++) {
      asia += array[j].data[i];
    }
    array[5].data[i] = asia;
  }
  //欧洲
  for (let i = 0; i < 2; i++) {
    let europe = 0;
    for (let j = 19; j < 28; j++) {
      europe += array[j].data[i];
    }
    array[18].data[i] = europe;
  }
  //美洲
  for (let i = 0; i < 2; i++) {
    let america = 0;
    for (let j = 29; j < 32; j++) {
      america += array[j].data[i];
    }
    array[28].data[i] = america;
  }
  //大洋洲
  for (let i = 0; i < 2; i++) {
    let oceania = 0;
    for (let j = 33; j < 36; j++) {
      oceania += array[j].data[i];
    }
    array[32].data[i] = oceania;
  }
  //外国人
  array[4].data[0] =
    array[5].data[0] +
    array[18].data[0] +
    array[28].data[0] +
    array[32].data[0] +
    array[36].data[0] +
    array[37].data[0];
  array[4].data[1] =
    array[5].data[1] +
    array[18].data[1] +
    array[28].data[1] +
    array[32].data[1] +
    array[36].data[1] +
    array[37].data[1];
  //入境
  array[0].data[0] =
    array[1].data[0] + array[2].data[0] + array[3].data[0] + array[4].data[0];
  array[0].data[1] =
    array[1].data[1] + array[2].data[1] + array[3].data[1] + array[4].data[1];
  array[0].data[2] =
    array[1].data[2] + array[2].data[2] + array[3].data[2] + array[4].data[2];
  array[0].data[3] =
    array[1].data[3] + array[2].data[3] + array[3].data[3] + array[4].data[3];
  store.dispatch("setWljdArray", array);
};

//组织接待计算
export const countZzjdData = () => {
  let array = [...store.state.zzjds];
  for (let i = 0; i < 4; i++) {
    let hj = 0;
    for (let j = 1; j < 32; j++) {
      hj += array[j].data[i];
    }
    array[0].data[i] = hj;
  }
  store.dispatch("setZzjdArray", array);
};

//组织出境计算
export const countZzcjData = () => {
  let array = [...store.state.zzcjs];
  let total = 0;
  let asia = 0;
  let europe = 0;
  let america = 0;
  let oceania = 0;
  let africa = 0;
  array.map((item, index) => {
    index > 0 && index < 17 ? (asia += item.data[0]) : (asia += 0);
    index > 17 && index < 29 ? (europe += item.data[0]) : (europe += 0);
    index > 29 && index < 32 ? (america += item.data[0]) : (america += 0);
    index > 32 && index < 36 ? (oceania += item.data[0]) : (oceania += 0);
    index > 36 && index < 41 ? (africa += item.data[0]) : (africa += 0);
  });
  total =
    asia +
    europe +
    america +
    oceania +
    africa +
    array[array.length - 1].data[0];
  array[0].data[0] = total;
  array[1].data[0] = asia;
  array[17].data[0] = europe;
  array[29].data[0] = america;
  array[32].data[0] = oceania;
  array[36].data[0] = africa;
  store.dispatch("setZzcjArray", array);
};

//清空input数据
export const cleanInput = (inputArray) => {
  const finalArray = Array.from(inputArray).slice(6);
  finalArray.map(item => {
    if (item.value.indexOf("-") === -1) {
      item.value = 0;
    }
  });
};
